// let arr = [1,[2],[3]]
// let fn = (arr)=>{
//   let ary = []
//   arr.forEach(item=>{
//     if(Array.isArray(item)){
//       ary = ary.concat(fn(item));
//     }else{
//       ary.push(item)
//     }
//   })
//   return ary
// }

// // console.log(fn(arr));
// var arr = [1, [2, [3, 4]]];

// function flatten(arr) {
//   return arr.toString().split(',');
// }

// console.log(flatten(arr)); // [1, 2, 3, 4]

// let  ary = [2,2,2,2,3,3,7,2,2]

// let fn = (ary) => {
//   let currentItem = ""
//   let currentLetter = 1
//   let result = []
//   ary.forEach((item,index) => {
//     if(item == ary[index+1]){
//       currentItem = ary[index]
//       currentLetter = currentLetter +1
//     }else if(item !== ary[index+1] !== ary[index-1]){
//       let arr = [item,currentLetter]
//         result.push(arr)
//         currentLetter = 1
//         arr = []
//     } else{
//         let arr = [currentItem,currentLetter]
//         result.push(arr)
//         currentLetter = 1
//         arr = []
//     }
//   });
//   console.log(result);
// }
// fn(ary)

// let a = 'qqqqqqwwweeeeeeeerrrfffaaakkkiiis';
// function fn1(a) {
//   let arr = [...a].sort();
//   let currentCode;
//   let letter = 1;
//   let maxCode;
//   let maxCount = 0;
//   arr.forEach((item, index) => {
//     if (item == arr[index + 1]) {
//       letter = letter + 1;
//       currentCode = arr[index + 1];
//     } else {
//       if (letter > maxCount) {
//         maxCount = letter;
//         maxCode = currentCode;
//       }
//       letter = 1;
//     }
//   });
//   console.log(maxCount, 'maxCount');
//   console.log(maxCode, 'maxCode');
// }
// // fn1(a)
let a = 'qqqqqqwwweeeeeeeerrrfffaaakkkiiis';

let arr = [...a];
let fn2 = (arr) => {
  let obj = {};
  let out = 0;
  let cur = 0
  arr.forEach((item) => {
    obj[item] ? obj[item]++ : (obj[item] = 1);
  });

  for (const key in obj) {
    if (obj[key] > out) {
      out = obj[key];
      cur = key
    }
  }
  return [out,cur];
};
console.log(fn2(arr));


// let fn3 = (num) => {
//   if(num === 0 || num === 1){
//     return num 
//   }
//   let a = 0; //0 
//   let b = 1; //1
//   let c;     //1
//   for (let index = 2; index <= num; index++) {
//     c = a + b
//     a = b
//     b = c
//   }
//    return c 
// }

// console.log(fn3(6));


// // 递归数组扁平化

// let fn4 = (arr) => {
//   // let isDeep = arr.some((item)=>item instanceof Array)
//   // if(!isDeep){
//   //   return arr
//   // }
//   // const res = [].concat(...arr);
//   // console.log(res,"resres");
//   // return fn4(res)
//   let newArr = []
//   arr.forEach(item => {
//     if(item instanceof Array){
//       newArr = newArr.concat(fn4(item))
//     }else{
//       newArr.push(item)
//     }
    
//   });
//   return newArr
// }
// let ary = [0,[1,[2]]]
// console.log(fn4(ary));
// var arr1 = [{
//   key: '01',
//   value: '当当'
// }, {
//   key: '02',
//   value: '钉钉'
// }, {
//   key: '03',
//   value: '威武'
// },{
//   key: '02',
//   value: '光谷'
// },{
//   key: '01',
//   value: '商店'
// }];
// let fn = (arr1) =>{
//   let result = []
//   let obj = {}
//   for (let index = 0; index < arr1.length; index++) {
//     if(!obj[arr1[index].key]){
//       result.push(arr1[index]) 
//       obj[arr1[index].key] = true
//     }
//   }
//   console.log(result,"result");
// }

// fn(arr1)

